package com.example.hbase.handler.data;

import com.example.hbase.exception.HBaseException;
import com.example.hbase.handler.AbstractTypeHandler;

/**
 * 字节映射 
*/
public class ByteHandler extends AbstractTypeHandler {

    @Override
    protected boolean aboutToHandle(Class<?> type) {
        return type == byte.class || type == Byte.class;
    }

    @Override
    protected byte[] innerToBytes(Class<?> type, Object value) {
        return new byte[] { ((Byte) value).byteValue() };

    }

    @Override
    protected Object innerToObject(Class<?> type, byte[] bytes) {
        if(bytes==null || bytes.length!=1){
            throw new HBaseException("hbase映射字节数据bytes异常");
        }
        return bytes[0];
    }
}
